package com.vf.admin.client.service;

import com.vf.admin.common.splitpage.SplitPageBean;
import com.vf.admin.miaodong.entity.AppDynamic;
import com.vf.admin.miaodong.entity.AppUser;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface AppDynamicService {

    void saveOrUpdate(AppDynamic appDynamic);

    /**
     * 发布动态保存
     *
     * @param message 动态消息
     * @param images  动态图片拼接
     * @param lon     经度
     * @param lat     维度
     * @param city    城市
     * @param userid  用户id
     * @param pic     头像
     * @param nick    昵称
     * @param phone   手机号
     * @param sex     性别
     * @return
     */
    public void dongtaiSave(String message, String images, String lon, String lat, String city, Integer userid, String pic, String nick, String phone, Integer sex, Integer type);


    public AppDynamic getByid(Integer id);

    /**
     * 查询特定用户的正常动态列表
     *
     * @param userid        用户id
     * @param splitPageBean
     * @return
     */
    public List<AppDynamic> specificUserList(Integer userid, SplitPageBean splitPageBean);


    /**
     * 查询条件拼接查询
     *
     * @param hashMap
     * @param splitPageBean
     * @return
     */
    List<AppDynamic> selectPage(HashMap<String, Object> hashMap, SplitPageBean splitPageBean);


    /**
     * 查找附近的朋友圈动态
     *
     * @param
     * @param splitPageBean
     * @return
     */
    List<AppDynamic> selectNearbyPage(Map<String, Object> params, SplitPageBean splitPageBean);


    public void updateStatus(Integer id, Integer status);

    /**
     * 动态点赞数量变更
     *
     * @param id     动态id
     * @param status 操作状态  1增加  2减少
     */
    public void dianzanNumUpdate(Integer id, Integer status);

    /**
     * 动态评论数量变更
     *
     * @param id     动态id
     * @param status 操作状态  1增加  2减少
     */
    public void pinglunNumUpdate(Integer id, Integer status);

    /**
     * 删除动态
     *
     * @Param: [id]
     * @return: void
     * @Author: zhouyunyi
     * @Date: 2021/07/29
     * @Time: 11:46
     */
    void delDongtai(Integer id);

    /**
     * 转发数量变更
     *
     * @Param: [id]
     * @return: void
     * @Author: zhouyunyi
     * @Date: 2021/07/29
     * @Time: 11:53
     */
    void zhuanfaUpdate(Integer id);

    public List<AppDynamic> list(Map<String, Object> params);

    List<String> myDynamicPic(Integer userId);

    /**
     * 双方为异性 如果双方没有爱神牵线、没有心动记录、没有聊天记录发送对话框消息
     *
     * @param fromUser
     * @param user
     * @param dynamicId
     * @param dynamicFirstImage
     */
    void sendDynamicHello(AppUser fromUser, AppUser user, Integer dynamicId, String dynamicFirstImage, String text);


    /**
     * 手动修改朋友圈动态发布时间 发布地址
     *
     * @param userIdList
     * @param time
     * @param address
     * @return
     */
    boolean updateDynamic( List<String> userIdList,  String time, String address);


    /**
     *
     * @param userIdList
     * @return
     */
    boolean updateDongTaiNow(List<String> userIdList);
}
